<?php
session_start();
include('include/config.php');
include('include/fonctions.php');
$messageErrMail = 'Page : ajout-eleve.php<br />';
$msgErr = $nom = $prenom = $civ = $niveau = $dateSql = $idEleve = '';
actualiser_session();
$connection = connexionBdd();

//on check pour savoir si on vient ici pour modifier ou supprimer un élève
if ((isset($_GET['id'])) && (intval($_GET['id'] > 0))) {
    $idEleve = secure($_GET['id']);
    //on vient sur cette page pour supprimer
    if (isset($_GET['supp'])) {
        $query = 'DELETE FROM `eleve` WHERE `id_eleve` =' . $idEleve . ' LIMIT 1';
        try {
            $connection->exec($query);
            $msgErr = '<div class="success">La suppression de l\'élève et de ses notes sont effectives.</div>';
            if (isset($_SESSION['modif']))
                unset($_SESSION['modif']);
        } catch (Exception $e) {
            $msgErr = '<div class="error">Une erreur est survenue lors de la suppression de l\'élève. Merci de réitérer votre opération.</div>';
            $messageErrMail .= 'Erreur suppression prof_id : ' . $prof_id . ' et élève : ' . $idEleve;
            $messageErrMail .= '<pre>' . $GLOBALS . '</pre>';
            error_log($messageErrMail, 1, $mailAdmin, $enteteErrLog);
        }
    } else {
        //on vient ici pour récupérer les élement d'un eleve en vu d'une modification
        $req = $connection->prepare('SELECT `id_niveau`,`nom_eleve` , `prenom_eleve` ,`sexe_eleve`, `date_eleve` FROM `eleve` WHERE `id_eleve` = :id LIMIT 0 , 1');
        $req->bindParam(':id', $idEleve, PDO::PARAM_INT);
        $req->execute();
        $donnees = $req->fetch(PDO::FETCH_ASSOC);
        $req->closeCursor();
        $civ = $donnees['sexe_eleve'];
        $nom = $donnees['nom_eleve'];
        $prenom = $donnees['prenom_eleve'];
        $niveau = $donnees['id_niveau'];
        $dateSql = $donnees['date_eleve'];
        $_SESSION['modif'] = $idEleve;
    }
}


//on vérifie que l'on à envoyé le forumaire
if (!empty($_POST['envoyer'])) {
    $err = 0;

//Civilité
    if (isset($_POST['civ'])) {
        $civ = secure($_POST['civ']);
    } else {
        $msgErrCiv = '<div class="warning">Merci de renseigner la civilité de l\'élève</div>';
        $err++;
    }

//Nom
    if (isset($_POST['nom'])) {
        $nom = secure($_POST['nom']);
        $nom_result = checkVarchar($nom, 2, 150);
        if ($nom_result == 'tooshort') {
            $msgErrNom = '<div class="warning">Le nom est trop court, changez-en pour un plus long (minimum 2 caractères).</div>';
            $err++;
        } else if ($nom_result == 'toolong') {
            $msgErrNom = '<div class="warning">Le nom est trop long, changez-en pour un plus court. (maximum 150 caractères)</div>';
            $err++;
        } else if ($nom_result == 'empty') {
            $msgErrNom = '<div class="warning">Merci de renseigner le nom de famille.</div>';
            $err++;
        }
    } else {
        $msgErrNom = '<div class="warning">Merci de renseigner le nom de famille.</div>';
        $err++;
    }

//Prénom
    if (isset($_POST['prenom'])) {
        $prenom = secure($_POST['prenom']);
        $prenom_result = checkVarchar($prenom, 2, 150);
        if ($prenom_result == 'tooshort') {
            $msgErrPrenom = '<div class="warning">Votre prénom est trop court, changez-en pour un plus long (minimum 2 caractères).</div>';
            $err++;
        } else if ($prenom_result == 'toolong') {
            $msgErrPrenom = '<div class="warning">Votre prénom est trop long, changez-en pour un plus court. (maximum 150 caractères)</div>';
            $err++;
        } else if ($prenom_result == 'empty') {
            $msgErrPrenom = '<div class="warning">Merci de renseigner votre prénom.</div>';
            $err++;
        }
    } else {
        $msgErrPrenom = '<div class="warning">Merci de renseigner votre prénom.</div>';
        $err++;
    }

//Niveau
    if (isset($_POST['niveau'])) {
        $niveau = secure($_POST['niveau']);
    } else {
        $msgErrNiveau = '<div class="warning">Merci de renseigner le niveau de l\'élève</div>';
        $err++;
    }

    //Date de naissance
    if (isset($_POST['jour']) && isset($_POST['mois']) && isset($_POST['annee'])) {
        $dateJ = secure($_POST['jour']);
        if ($dateJ < 10)
            $dateJ = '0' . $dateJ;
        $dateM = secure($_POST['mois']);
        if ($dateM < 10)
            $dateM = '0' . $dateM;
        $dateA = secure($_POST['annee']);
        $date = $dateJ . '-' . $dateM . '-' . $dateA;
        $dateSql = $dateA . '-' . $dateM . '-' . $dateJ;
        $date_result = birthdate($date);
        if ($date_result == 'format') {
            $msgErrDate = '<div class="warning">Votre date de naissance n\'est pas au bon format jj-mm-aaaa.</div>';
            $err++;
        }
    }

    //tout est ok on continue l'inscription
    if ($err < 1) {
        $connection = connexionBdd();
        if ((isset($_SESSION['modif'])) && (intval($_SESSION['modif']) > 0)) {
            $insert = $connection->prepare('UPDATE `eleve` SET
                `id_niveau` =  :niveau,
                `nom_eleve` =  :nom,
                `prenom_eleve` =  :prenom,
                `sexe_eleve` =  :sexe,
                `date_eleve` =  :birthday
                WHERE  `id_eleve` =:id');
            $insert->bindParam(':id', $_SESSION['modif'], PDO::PARAM_INT);
        } else {
            $insert = $connection->prepare('INSERT INTO `eleve` (
                                        `id_eleve` ,
                                        `id_prof` ,
                                        `id_niveau` ,
                                        `nom_eleve` ,
                                        `prenom_eleve` ,
                                        `sexe_eleve`,
                                        `date_eleve`)
                                        VALUES(NULL, :id, :niveau, :nom, :prenom, :sexe,:birthday)');
            $insert->bindParam(':id', $_SESSION['prof_id'], PDO::PARAM_INT);
        }


        // On rempli les paramètres
        $insert->bindParam(':niveau', $niveau, PDO::PARAM_INT);
        $insert->bindParam(':nom', $nom, PDO::PARAM_STR);
        $insert->bindParam(':prenom', $prenom, PDO::PARAM_STR);
        $insert->bindParam(':sexe', $civ, PDO::PARAM_INT);
        $insert->bindParam(':birthday', $dateSql);

// On exécute
        try {
            $insert->execute();
            $insert->closeCursor();
            if (isset($_SESSION['modif'])) {
                unset($_SESSION['modif']);
                $msgErr = '<div class="success">La modification de l\'élève est effective.</div>';
            } else {
                $msgErr = '<div class="success">L\'ajout de l\'élève est effective.</div>';
            }

            $nom = $prenom = $civ = $niveau = $dateSql = $idEleve = '';
        } catch (Exception $e) {
            $msgErrBdd = '<div class="error">Une erreur technique est venue perturbée votre inscription. Notre équipe technique vient d\en être informée. Merci de renouveler votre opération ultérieurement.</div>';
            $err++;
            $messageErrMail .=$e->getMessage();
            error_log($messageErrMail, 1, $mailAdmin, $enteteErrLog);
        }
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Gestion de ma classe</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <meta name="description" content="Permet la gestion complète de votre classe, avec l'ajout, la modification et la suppresison de vos élèves." />
        <meta name="keywords" content="gestion eleve" />
        <meta name="author" content="Wicenty web" />
        <link rel="icon" href="images/favicon.ico" type="image/x-icon" />
        <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
        <link rel="stylesheet" href="css/style.css" />
        <link rel="stylesheet" href="css/menu.css" />
        <link rel="stylesheet" href="css/form.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            function delete_confirm(id)
            {
                if (confirm("Voulez vous vraiment supprimer cet élève ainsi que toutes ses notes ?"))
                {
                    location.href = 'ajout-eleve.php?supp=1&id=' + id;
                }
                return false;
            }

            $(function() {
                //Call the edit function
                $('.edit').click(function() {
                    // Get the id name
                    var element = this;
                    var id = element.id;

                    //New text box with id and name according to position
                    var textboxs = '<input type="text" name="text' + id + '" id="text' + id + '" class="textbox">'
                    //Place textbox in page to enter value
                    $('#' + id).html('').html(textboxs);
                    //Set value of hidden field
                    $('#hidden').val(id);
                    //Focus the newly created textbox
                    $('#text' + id).focus();
                });

                // Even to save the data - When user clicks out side of textbox
                $('.edit').focusout(function() {
                    //Get the value of hidden field (Currently editing field)
                    var field = $('#hidden').val();
                    //get the value on text box (New value entred by user)
                    var value = $('#text' + field).val();
                    //Update if the value in not empty
                    if (value != '') {
                        //Post to a php file - To update at backend
                        $.post('include/ajaxSaveEleve.php', {action: this.id, value: value}, function(response) {
                        });
                        //Set the data attribue with new value
                        $(this).html(value).attr('data', value);
                    }

                    // If user exists with out making any changs
                    $(".edit").each(function() {
                        //set the default value
                        $(this).text($(this).attr('data'));
                    });

                });
            })
        </script>

    </head>
    <body>
        <!--==============================header=================================-->
        <?php
        require_once('include/menu.php');
        ?>

        <!--==============================content================================-->
        <div class="bg1">
            <div class="bg">
                <section id="content">
                    <div class="container_12">
                        <?php                        
                        if (isset($_GET['msg'])){
                            switch ($_GET['msg']) { 
                                case 'vir':echo '<article class="grid_12"><div class="warning" style="height:100px;"><p>L\'ensemble des informations concernant le paiement vient de vous être envoyé par mail.</p></div></article>';
                                    break;
                                case 'chq': echo '<article class="grid_12"><div class="warning" style="height:120px;"><p>L\'ensemble des informations concernant le paiement vient de vous être envoyé par mail.</p>
                                    <p>Merci d\'emmetre votre chèque à l\'ordre de "<span style="text-decoration:underline;">Net stratégie</span>"</p>
                                    <p>Avec au dos du chèque votre numéro de compte : "<span style="text-decoration:underline;">N°'.$_SESSION['prof_id'].'</span>"</p>
                                    <p>Le tout envoyé à l\'adresse suivante : <span style="text-decoration:underline;">Net Stratégie/Bulletin Facile - 16 rue Kléber - 59410 Anzin</span></p>
                                    <p>En attendant la reception de votre chèque nous vous laissons <span style="text-decoration:underline;">profiter du site</span> dans sa version la plus simple jusqu\'au <span style="text-decoration:underline;">'.  date('d/m/Y', time()+604800).'</span>.</div></article>';
                                    break;

                                default: echo '<article class="grid_12"><div class="success" style="height:40px;"><p>Votre paiement est validé et nous vous en remercions.</p><p> Vous pouvez profiter pleinement du site et de l\'ensemble des fonctionnalités.</p></div></article>';
                                    break;
                            }
                        }
                        ?>                        
                        <article class="grid_12">
                            <h1>Gérer ma Classe</h1>
                            <p>Vous pouvez <strong>ajouter</strong> un élève, mais aussi <strong>modifier</strong> et <strong>supprimer</strong> un élève. Un listing sur la droite de votre écran permet de contrôler votre classe, mais aussi de modifier ou supprimer un élève.</p>
                            <p>Grâce aux renseignements fournis lors de la saisie de vos élèves, vous avez la possibilité d'imprimer <strong>vos listings obligatoires</strong> demandés par l'Education nationale</p>
                        </article>
                        <article class="grid_12">
                            <div class="border-bot"></div>
                        </article>
                        <article class="grid_7">
                            <?php
                            if ((isset($_SESSION['modif'])) && (intval($_SESSION['modif']) > 0)) {
                                $value = 'Modifier un élève';
                            } else {
                                $value = 'Ajouter un élève';
                            }
                            echo '<h3>' . $value . '</h3>';


                            echo $msgErr;
                            if ((!isset($err)) || ( $err > 0)) {
                                if (isset($msgErrCiv))
                                    echo $msgErrCiv;
                                if (isset($msgErrNom))
                                    echo $msgErrNom;
                                if (isset($msgErrPrenom))
                                    echo $msgErrPrenom;
                                if (isset($msgErrNiveau))
                                    echo $msgErrNiveau;
                                if (isset($msgErrDate))
                                    echo $msgErrDate;
                                if (isset($msgErrBdd))
                                    echo $msgErrBdd;
                            }
                            ?>
                            <form name="eleve" id="stylized" method="post" action="ajout-eleve.php">
                                <label for="civ1" class="label3">Civilité :</label>
                                <div class="block2">
                                    <label for="civ1">Fille</label> <input type="radio" name="civ" id="civ1" value="0" class="radio" <?php if ($civ == 0) echo 'checked'; ?>/>
                                    <label for="civ2">Garçon</label> <input type="radio" name="civ" id="civ2" value="1" class="radio" <?php if ($civ == 1) echo 'checked'; ?>/>
                                </div>
                                <br/>

                                <label for="nom" class="label3">Nom :</label> <input type="text" name="nom" id="nom" value="<?php echo $nom; ?>" placeholder="Nom de famille de l'élève" class="input"/><br/>
                                <label for="prenom" class="label3">Prénom :</label> <input type="text" name="prenom" id="prenom" value="<?php echo $prenom; ?>" placeholder="Prénom de l'élève" class="input"/><br/>

                                <label for="niveau" class="label3">Niveau :</label>
                                <div class="block2">
                                    <?php
                                    $req = $connection->prepare('SELECT `id_niveau`,`nom_niveau` FROM `niveau`');
                                    $req->execute();
                                    while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) {
                                        echo '<label for="' . $donnees['nom_niveau'] . '">' . $donnees['nom_niveau'] . '</label> <input type="radio" name="niveau" id="' . $donnees['nom_niveau'] . '" value="' . $donnees['id_niveau'] . '" class="radio" ';
                                        if ((!empty($niveau)) && ($niveau == $donnees['id_niveau']))
                                            echo 'checked';
                                        echo '/>';
                                    }
                                    ?>
                                </div>
                                <br/>
                                <label for="dateNaissance" class="label3">Date de naissance :</label>
                                <div class="block2">
                                    <select name="jour" class="select2">
                                        <?php
                                        if (empty($dateSql))
                                            $dateSql = '0-0-0';
                                        $date = explode('-', $dateSql);
                                        for ($i = 1; $i <= 31; $i++) {
                                            echo '<option value="', $i, '"';
                                            if ($date[2] == $i)
                                                echo ' selected';
                                            echo '>', $i, '</option>';
                                        }
                                        ?>
                                    </select>
                                    <select name="mois" class="select2">
                                        <?php
                                        for ($i = 1; $i <= 12; $i++) {
                                            echo '<option value="', $i, '"';
                                            if ($date[1] == $i)
                                                echo ' selected';
                                            echo '>', $i, '</option>';
                                        }
                                        ?>
                                    </select>
                                    <select name="annee" class="select2">
                                        <?php
                                        for ($i = date('Y') - 15; $i <= date('Y') - 2; $i++) {
                                            echo '<option value="', $i, '"';
                                            if ($date[0] == $i)
                                                echo ' selected';
                                            echo '>', $i, '</option>';
                                        }
                                        ?>
                                    </select>


                                </div>
                                <br />
                                <label class="label3">&nbsp;</label><input type="submit" value="<?php echo $value; ?>" name="envoyer" class="bouton"/>
                            </form>
                        </article>
                        <article class="grid_4 prefix_1 border1" id='eleve'>
                            <h3>Ma classe</h3>
                            <div class="margin-bot2">
                                <input type="hidden" id="hidden" value="" />
                                <?php
                                $req = $connection->prepare('SELECT `id_eleve`,`nom_eleve`,`prenom_eleve`,`sexe_eleve`,`nom_niveau` FROM `eleve` e NATURAL JOIN `niveau` WHERE `id_prof`=:id ORDER BY `id_niveau`, `nom_eleve`,`prenom_eleve`');
                                $req->bindParam(':id', $_SESSION['prof_id'], PDO::PARAM_INT);
                                $req->execute();
                                $count = $req->rowCount();

                                if ($count > 0) {
                                    $niveauStr = '';
                                    while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) {
                                        if ($niveauStr != $donnees['nom_niveau']) {
                                            echo '<strong>' . $donnees['nom_niveau'] . '</strong><br />';
                                            $niveauStr = $donnees['nom_niveau'];
                                        }
                                        echo '<li class="pencil"><span class="edit" id="nom-' . $donnees['id_eleve'] . '" data="' . stripslashes($donnees['nom_eleve']) . '">' . stripslashes($donnees['nom_eleve']) . '</span> <span class="edit" id="prenom-' . stripslashes($donnees['id_eleve']) . '" data="' . $donnees['prenom_eleve'] . '">' . stripslashes($donnees['prenom_eleve']) . '</span>
                                    <a href="ajout-eleve.php?id=' . $donnees['id_eleve'] . '"><img src="css/ico/user_edit.png" width="16px" height="16px" class="img-indent-r2" /></a>
                                    <img src="css/ico/user_delete.png" width="16px" height="16px" class="img-indent-r2" onclick="delete_confirm(' . $donnees['id_eleve'] . ')"/><div class="clear"></div></li>';
                                    }
                                    echo '<br />Nombre d\'élèves dans la classe : <strong>' . $count . '</strong>';
                                    if ((isset($_SESSION['prof_abo'])) && ($_SESSION['prof_abo'] != 2)) {
                                        echo '<br /><br />
                                            <a href="gen-eleve.php" target="_blank"><img src="css/ico/page_acrobat.png" width="16" height="16"/></a>&nbsp;
                                            <a href="gen-eleve.php" target="_blank">Imprimez vos listes d\'élèves</a>';
                                    }
                                } else {
                                    echo "Vous n'avez pas encore renseigné vos élèves.";
                                }

                                $req->closeCursor();
                                ?>                                
                            </div>
                            <div class="border-bot margin-bot2"></div>
                            <fieldset>
                                <legend>Légende</legend>
                                <img src="css/ico/user_edit.png" width="16px" height="16px" /> <strong>Modifier</strong> un élève<br />
                                <img src="css/ico/user_delete.png" width="16px" height="16px" /> <strong>Supprimer</strong> un élève<br />
                            </fieldset>
                        </article>
                    </div>
                </section>

                <!--==============================footer=================================-->
                <?php
//                echo '<pre>';
//                print_r($GLOBALS);
//                echo '</pre>';
                require_once 'include/footer.php';
                ?>
            </div>
        </div>
    </body>
</html>